/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ies.domain.model.web.util;

import com.ies.domain.model.Cidade;
import com.ies.domain.model.Permissao;
import com.ies.domain.model.Usuario;
import com.ies.domain.model.repository.facades.CidadeFacade;
import com.ies.domain.model.repository.facades.PermissaoFacade;
import com.ies.domain.model.util.JpaPool;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.model.SelectItem;

/**
 *
 * @author estagiario
 */
@ManagedBean(name = "UtilsMB")
@ApplicationScoped
public class UtilsMB extends AbstractManagedBean {

    public synchronized List<SelectItem> getComboPermissoes() {
        PermissaoFacade facade = (PermissaoFacade) JpaPool.get(Permissao.class);
        List<SelectItem> items = new ArrayList<SelectItem>();
        List<Permissao> lista = facade.findAll();
        if (lista != null) {
            for (Permissao permissao : lista) {
                items.add(new SelectItem(permissao, permissao.getNome()));
            }
        }
        return items;
    }
    
    public synchronized List<SelectItem> getComboTipoUsuario() {
        List<SelectItem> items = new ArrayList<SelectItem>();
        for (Usuario.TipoUsuario tipo : Usuario.TipoUsuario.values()) {
            items.add(new SelectItem(tipo, tipo.toString()));
        }
        return items;
    }
    
     public synchronized List<SelectItem> getComboSexo() {
        List<SelectItem> items = new ArrayList<SelectItem>();
        for (Usuario.Sexo tipo : Usuario.Sexo.values()) {
            items.add(new SelectItem(tipo, tipo.toString()));
        }
        return items;
    }
     
     public synchronized List<SelectItem> getComboCidade() {
       CidadeFacade facade = (CidadeFacade) JpaPool.get(Cidade.class);
        List<SelectItem> items = new ArrayList<SelectItem>();
        List<Cidade> lista = facade.findAll();
        if (lista != null) {
            for (Cidade cidade : lista) {
                items.add(new SelectItem(cidade, cidade.getNome()));
            }
        }
        return items;
    }
    
}
